package com.groupbuying.store.service;

import com.groupbuying.store.domain.StoreShopDO;
import com.groupbuying.store.utils.R;

import java.util.List;
import java.util.Map;

/**
 * 商户店铺管理
 * 
 * @author wenguoqiang
 * @email 17081@mengtaigroup.com
 * @date 2019-01-24 10:31:50
 */
public interface StoreShopService {
	
	StoreShopDO get(String uuid);
	
	List<StoreShopDO> list(Map<String, Object> map);
	
	int count(Map<String, Object> map);
	
	int save(StoreShopDO storeShop);
	
	int update(StoreShopDO storeShop);
	
	int remove(String uuid);
	
	int batchRemove(String[] uuids);

	/**
	 * 通过商户uuid查找
	 * @param childStoreUuid
	 * @return
	 */
	StoreShopDO getByStoreUuid(String childStoreUuid);

	/**
	 * 通过收银台查找
	 * @param counterUuid
	 * @return 未实现
	 */
	//StoreShopDO getByCounterUuid(String counterUuid);

	/**
	 * 冻结店铺根据商户uuid
	 * @param chainStoresUuid
	 */
	void froozenShopByStoreUuid(String chainStoresUuid);
	/**
	 * 解冻店铺根据商户uuid
	 * @param chainStoresUuid
	 */
	void unfroozenShopByStoreUuid(String chainStoresUuid);

	/**
	 * 通过storeUuids 获取商户店铺集合
	 * @param storeUuids
	 * @return
	 */
	Map<String, StoreShopDO> getMapByStoreUuids(List<String> storeUuids);

	/**
	 * 报备银盛详情
	 * @param mapParams
	 * @return
	 */
    Map<String, Object> reportYSInfo(Map<String, Object> mapParams);

	/**
	 * 报备银盛
	 * @param mapParams
	 * @return
	 */
	Map<String, Object> reportYS(Map<String, Object> mapParams) throws Exception;

	/**
	 * 获取门店列表（包含距离）
	 * @param params
	 * @return
	 */
	R getShopList(Map<String, Object> params);

	/**
	 * 根据品类获取商户列表
	 * @param params
	 * @return
	 */
	Object searchShopListByCategoryOrStoreName(Map<String, Object> params);

	/**
	 * 获取推荐门店列表
	 * @param params
	 * @return
	 */
    Object getRecommendStoreList(Map<String, Object> params);
}
